#include <stdio.h>

// 求 nums[start...end] 的累加和
int sumArr(int* nums, int start, int end) {
    // 退出条件，最小子问题
    if (start > end) return 0;

    // 第一步：拿到区间第一个元素值
    int num = nums[start];

    // 第二步：求解子问题，拿到 nums[start + 1...end] 的累加和
    int tmpSum = sumArr(nums, start + 1, end);

    // 第三步：得到子问题的结果
    return num + tmpSum;
}

int main(void) {
    int nums[] = {1, 2, 3, 4};
    int res = sumArr(nums, 0, 3);
    printf("%d", res);
    return 0;
}
